package cn.cimoc.util;

import io.jsonwebtoken.Claims;
import io.jsonwebtoken.JwtParser;
import io.jsonwebtoken.Jwts;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

/**
 * jwt 工具类
 */
@Component
@Slf4j
public class JwtUtils {
    @Value("${jwt.secret}")
    private String secret;
    /**
     * 根据jwt获取 用户id
     * @param jwt
     * @return 用户id
     */
    public Long parseJwtGetId(String jwt){
        Long id = null;
        try{
            JwtParser parser = Jwts.parser();
            //获取数据 claims
            Claims claims = parser.setSigningKey(secret).parseClaimsJws(jwt).getBody();
            id = Long.parseLong(claims.get("id").toString());
            return id;
        }catch (Exception e){
            log.error("jwt解析失败！");
            return null;
        }
    }



}
